package com.jianbing.zuixia.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.jianbing.common.annotation.Excel;
import com.jianbing.common.core.domain.BaseEntity;

/**
 * 闯关记录，记录用户的闯关信息对象 zuixia_checkpoint_record
 * 
 * @author windbless
 * @date 2024-06-18
 */
public class ZuixiaCheckpointRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 记录ID，主键，自增 */
    @Excel(name = "记录ID，主键，自增")
    private Long recordId;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 周期天数 */
    @Excel(name = "周期天数")
    private Long periodDays;

    /** 关卡 */
    @Excel(name = "关卡")
    private String checkpoint;

    /** 部分 */
    @Excel(name = "部分")
    private String section;

    /** 轮次 */
    @Excel(name = "轮次")
    private Long round;

    /** 题目难度 */
    @Excel(name = "题目难度")
    private String questionDifficulty;

    /** 完成时刻 */
  @JsonFormat(pattern="yyyy-MM-dd")
    @Excel(name = "完成时刻", width = 30, dateFormat = "yyyy-MM-dd")
    private Date completionTime;

    /** 过关时长，以秒为单位 */
    @Excel(name = "过关时长，以秒为单位")
    private Long passDuration;

    /** 题号 */
    @Excel(name = "题号")
    private Long questionId;

    /** 当前作答内容 */
    @Excel(name = "当前作答内容")
    private String currentAnswer;

    public void setRecordId(Long recordId) 
    {
        this.recordId = recordId;
    }

    public Long getRecordId() 
    {
        return recordId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setPeriodDays(Long periodDays) 
    {
        this.periodDays = periodDays;
    }

    public Long getPeriodDays() 
    {
        return periodDays;
    }
    public void setCheckpoint(String checkpoint) 
    {
        this.checkpoint = checkpoint;
    }

    public String getCheckpoint() 
    {
        return checkpoint;
    }
    public void setSection(String section) 
    {
        this.section = section;
    }

    public String getSection() 
    {
        return section;
    }
    public void setRound(Long round) 
    {
        this.round = round;
    }

    public Long getRound() 
    {
        return round;
    }
    public void setQuestionDifficulty(String questionDifficulty) 
    {
        this.questionDifficulty = questionDifficulty;
    }

    public String getQuestionDifficulty() 
    {
        return questionDifficulty;
    }
    public void setCompletionTime(Date completionTime) 
    {
        this.completionTime = completionTime;
    }

    public Date getCompletionTime() 
    {
        return completionTime;
    }
    public void setPassDuration(Long passDuration) 
    {
        this.passDuration = passDuration;
    }

    public Long getPassDuration() 
    {
        return passDuration;
    }
    public void setQuestionId(Long questionId) 
    {
        this.questionId = questionId;
    }

    public Long getQuestionId() 
    {
        return questionId;
    }
    public void setCurrentAnswer(String currentAnswer) 
    {
        this.currentAnswer = currentAnswer;
    }

    public String getCurrentAnswer() 
    {
        return currentAnswer;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("recordId", getRecordId())
            .append("userId", getUserId())
            .append("periodDays", getPeriodDays())
            .append("checkpoint", getCheckpoint())
            .append("section", getSection())
            .append("round", getRound())
            .append("questionDifficulty", getQuestionDifficulty())
            .append("completionTime", getCompletionTime())
            .append("passDuration", getPassDuration())
            .append("questionId", getQuestionId())
            .append("currentAnswer", getCurrentAnswer())
            .toString();
    }
}
